
###############################################################################
cmake_minimum_required(VERSION 2.8)

#--- имя проекта совпадает с именем каталога проекта
get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME)

#--- имя главной цели. CXX значает, что проект на с++
project( ${PROJECT_NAME} CXX )
###############################################################################

#--- указываем путь, где должен быть расположен результат сборки

set (BIN ${CMAKE_CURRENT_SOURCE_DIR}/product)
set (DLL ${CMAKE_CURRENT_SOURCE_DIR}/product)
set (LIB ${CMAKE_CURRENT_SOURCE_DIR}/product)

# сначала выставляем дефолтно-глобальные 
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${LIB}) 
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${DLL}) 
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${BIN}) 
# затем выставляем дефолтные-глобальные под каждую возможную конфигурацию 
foreach( OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES} ) 
    string( TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG ) 
    set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}) 
    set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG}  ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}) 
    set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) 
endforeach()

###############################################################################

#--- определяем состав исходных файлов библиотеки
FILE (GLOB MY_SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/src/*)

#--- определяем пути для хэдэров
set (MY_HEADERS_PATH ${CMAKE_CURRENT_SOURCE_DIR}/include)

include_directories( ${MY_HEADERS_PATH}   )
###############################################################################

add_executable( ${PROJECT_NAME} ${MY_SOURCE} )

###############################################################################


